import java.util.ArrayList;


public class InstructionSet {

	
	private String add(Register a, Register b){
		
		return null;
	}
	
	private String and(String acc, Register rf){
		
		
		
		return null;
	}
	
	
	
	private String or(String acc, Register rf){
		
		return null;
	}
	
	private String xor(String acc, Register rf){
		return null;
	}
	
	private String addc(String acc, Register rf){
		return null;
	}
	
	private String sub(String acc, Register rf){
		return null;
	}
	
	private String mul(String acc, Register rf){
		return null;
	}
	
	private String neg(String acc){
		return null;
	}
	
	private String not(String acc){
		return null;
	}
	
	private String rlc(String acc){
		return null;
	}
	
	private String rrc(String acc){
		return null;
	}
	
	private String lda(String acc, Register rf){
		return null;
	}
	
	private String sta(String acc, Register rf){
		return null;
	}
	
	private String ldaAddr(String acc, String addr){
		return null;
	}
	
	private String staAddr(String acc, String addr){
		return null;
	}
	
	private String ldi(String imm, String acc){
		return null;
	}
	
	
	private String brc(String sr){
		return null;
	}
	
	private String brn(String sr){
		return null;
	}
	
	private String bro(String sr){
		return null;
	}
	
	private String brz(String sr){
		return null;
	}
	
	private String stop(String pc){
		return null;
	}
	
	private void nop(){
	}
	
	
	
	
	
	
	
	
	
	
	private String executeInstruction(String instr, String accumulator, ArrayList<Register> registers){
		
		String oc = Tools.getOpcode(instr);
		int opCode = Integer.getInteger(oc);
		
		switch(opCode){
			
		case 00000: 
			
		case 00001:
		
		case 00010:
		
		case 00011:
			
		case 00100:
			
		case 00101:
			
		case 00110:
			
		case 00111:
			
		case 01000:
			
		case 01001:
			
		case 01010:
			
		case 01011:
			
		case 01100:
			
		case 01101:
			
		case 01110:
			
		case 10000:
			
		case 10001:
			
		case 10010:
			
		case 10011:
			
		case 11111:
			
		case 11000:
		
		}
		
		
		
		
		return null;
	}
	
	
	
	
	
	
	
	
	
	
	
	
}
